/* ==========================================================================
   Site Header & Footer
   ========================================================================== */

.site-header {
  background-color: var(--color-primary);
  color: var(--color-text-on-primary);
  padding: var(--space-md) 0;
}

.site-header__link {
  color: var(--color-text-on-primary);
  font-weight: var(--font-weight-bold);
  font-size: 1.125rem;
  text-decoration: none;
}

.site-header__link:hover,
.site-header__link:focus {
  color: var(--color-gray-200);
  text-decoration: none;
}

.site-footer {
  background-color: var(--color-gray-50);
  border-top: 1px solid var(--color-border);
  padding: var(--space-lg) 0;
  margin-top: auto;
  color: var(--color-gray-500);
  font-size: 0.875rem;
}

/* ==========================================================================
   Page Header
   ========================================================================== */

.page-header {
  margin-bottom: var(--space-2xl);
  padding-bottom: var(--space-lg);
  border-bottom: 2px solid var(--color-border);
}

.page-header__title {
  font-size: 2rem;
  font-weight: var(--font-weight-black);
  color: var(--color-primary);
  margin-bottom: var(--space-sm);
}

.page-header__subtitle {
  font-size: 1rem;
  color: var(--color-gray-500);
  font-weight: var(--font-weight-regular);
}

.page-header__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  margin-top: var(--space-sm);
  font-size: 0.875rem;
  color: var(--color-gray-600);
}

/* ==========================================================================
   Scheme Card
   ========================================================================== */

.scheme-card {
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.scheme-card:hover {
  border-color: var(--color-gray-300);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.scheme-card__name {
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-sm);
}

.scheme-card__name a {
  color: var(--color-primary);
}

.scheme-card__name a:hover {
  color: var(--color-link);
}

.scheme-card__meta {
  font-size: 0.875rem;
  color: var(--color-gray-500);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.scheme-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}

@media (min-width: 768px) {
  .scheme-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1200px) {
  .scheme-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ==========================================================================
   Criteria List
   ========================================================================== */

.criteria-list {
  margin-bottom: var(--space-2xl);
}

.criteria-list__category {
  margin-bottom: var(--space-xl);
}

.criteria-list__category-title {
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--color-border);
}

.criteria-list__items {
  list-style: none;
  padding-left: 0;
}

/* ==========================================================================
   Criterion Card
   ========================================================================== */

.criterion-card {
  display: flex;
  align-items: baseline;
  gap: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  transition: background-color 0.15s ease;
}

.criterion-card:hover {
  background-color: var(--color-bg-alt);
}

.criterion-card__section {
  font-size: 0.8rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-500);
  min-width: 4rem;
  flex-shrink: 0;
}

.criterion-card__name {
  flex: 1;
}

.criterion-card__name a {
  color: var(--color-gray-800);
  font-weight: var(--font-weight-medium);
}

.criterion-card__name a:hover {
  color: var(--color-link);
}

.criterion-card__version {
  font-size: 0.75rem;
  color: var(--color-gray-400);
  flex-shrink: 0;
}

/* ==========================================================================
   Scoring Table
   ========================================================================== */

.scoring-table {
  margin-bottom: var(--space-2xl);
}

.scoring-table__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.scoring-table table {
  width: 100%;
  font-size: 0.875rem;
}

.scoring-table th {
  white-space: nowrap;
}

.scoring-table__pass--yes {
  color: var(--color-accent-success);
  font-weight: var(--font-weight-bold);
}

.scoring-table__pass--no {
  color: var(--color-accent-error);
  font-weight: var(--font-weight-bold);
}

/* Responsive: horizontal scroll on small screens */
.scoring-table__wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ==========================================================================
   Recognition Levels
   ========================================================================== */

.recognition-levels {
  margin-bottom: var(--space-2xl);
}

.recognition-levels__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.recognition-levels__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}

@media (min-width: 768px) {
  .recognition-levels__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1200px) {
  .recognition-levels__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.recognition-levels__card {
  background-color: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
}

.recognition-levels__card-name {
  font-size: 1.1rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  margin-bottom: var(--space-sm);
}

.recognition-levels__card-score {
  font-size: 0.875rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-accent-info);
  margin-bottom: var(--space-sm);
}

.recognition-levels__card-desc {
  font-size: 0.875rem;
  color: var(--color-gray-600);
}

/* ==========================================================================
   Alignment Panel
   ========================================================================== */

.alignment-panel {
  margin-bottom: var(--space-2xl);
}

.alignment-panel__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.alignment-panel__section {
  margin-bottom: var(--space-lg);
}

.alignment-panel__section-title {
  font-size: 1.1rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-700);
  margin-bottom: var(--space-sm);
}

.alignment-panel table {
  font-size: 0.875rem;
}

.alignment-panel__wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ==========================================================================
   Evidence Panel
   ========================================================================== */

.evidence-panel {
  margin-bottom: var(--space-2xl);
}

.evidence-panel__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.evidence-panel__category {
  margin-bottom: var(--space-lg);
}

.evidence-panel__category-title {
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-700);
  margin-bottom: var(--space-sm);
}

.evidence-panel__list {
  list-style: disc;
  padding-left: var(--space-xl);
}

.evidence-panel__list li {
  font-size: 0.875rem;
  color: var(--color-gray-700);
}

/* ==========================================================================
   Pass Threshold
   ========================================================================== */

.pass-threshold {
  margin-bottom: var(--space-2xl);
}

.pass-threshold__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.pass-threshold__info {
  font-size: 0.875rem;
  color: var(--color-gray-600);
  margin-bottom: var(--space-md);
}

.pass-threshold__wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.pass-threshold table {
  font-size: 0.875rem;
}

.pass-threshold__pass--yes {
  color: var(--color-accent-success);
  font-weight: var(--font-weight-bold);
}

.pass-threshold__pass--no {
  color: var(--color-accent-error);
  font-weight: var(--font-weight-bold);
}

.pass-threshold__minimum {
  background-color: var(--color-accent-success-bg);
}

/* ==========================================================================
   Sub-thresholds
   ========================================================================== */

.sub-thresholds {
  margin-bottom: var(--space-2xl);
}

.sub-thresholds__title {
  font-size: 1.1rem;
  margin-bottom: var(--space-md);
}

.sub-thresholds__item {
  margin-bottom: var(--space-lg);
  padding: var(--space-md);
  background-color: var(--color-bg-alt);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}

.sub-thresholds__item-title {
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-700);
  margin-bottom: var(--space-xs);
}

.sub-thresholds__item-metric {
  font-size: 0.875rem;
  color: var(--color-gray-500);
  margin-bottom: var(--space-sm);
}

.sub-thresholds__wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.sub-thresholds table {
  font-size: 0.875rem;
}

/* ==========================================================================
   Version Selector & Language Selector
   ========================================================================== */

.version-selector {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: 0.875rem;
  color: var(--color-gray-600);
  background-color: var(--color-bg-alt);
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}

.version-selector__label {
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-700);
}

.language-selector {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: 0.875rem;
  margin-bottom: var(--space-lg);
}

.language-selector__label {
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-700);
}

.language-selector__list {
  display: flex;
  gap: var(--space-xs);
  list-style: none;
  padding: 0;
  margin: 0;
}

.language-selector__item {
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  font-size: 0.8rem;
  text-transform: uppercase;
  font-weight: var(--font-weight-medium);
}

.language-selector__item--active {
  background-color: var(--color-primary);
  color: var(--color-text-on-primary);
  border-color: var(--color-primary);
}

.language-selector__item a {
  color: var(--color-gray-600);
  text-decoration: none;
}

.language-selector__item a:hover {
  color: var(--color-link);
}

/* ==========================================================================
   Reverse Mapping
   ========================================================================== */

.reverse-mapping {
  margin-bottom: var(--space-2xl);
}

.reverse-mapping__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.reverse-mapping__list {
  list-style: none;
  padding: 0;
}

.reverse-mapping__item {
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-sm);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-sm);
}

.reverse-mapping__scheme-name {
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-800);
}

.reverse-mapping__meta {
  font-size: 0.8rem;
  color: var(--color-gray-500);
}

/* ==========================================================================
   Badge
   ========================================================================== */

.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem var(--space-sm);
  font-size: 0.75rem;
  font-weight: var(--font-weight-bold);
  border-radius: var(--radius-sm);
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.badge--pass {
  background-color: var(--color-accent-success-bg);
  color: var(--color-accent-success);
}

.badge--fail {
  background-color: var(--color-accent-error-bg);
  color: var(--color-accent-error);
}

.badge--info {
  background-color: var(--color-accent-info-bg);
  color: var(--color-accent-info);
}

.badge--warning {
  background-color: var(--color-accent-warning-bg);
  color: var(--color-accent-warning);
}

.badge--neutral {
  background-color: var(--color-gray-100);
  color: var(--color-gray-600);
}

/* ==========================================================================
   Markdown Content
   ========================================================================== */

.markdown-content h1,
.markdown-content h2,
.markdown-content h3,
.markdown-content h4 {
  margin-top: var(--space-xl);
}

.markdown-content h1:first-child,
.markdown-content h2:first-child,
.markdown-content h3:first-child,
.markdown-content h4:first-child {
  margin-top: 0;
}

.markdown-content p {
  margin-bottom: var(--space-md);
  line-height: 1.7;
  color: var(--color-gray-700);
}

.markdown-content ul,
.markdown-content ol {
  margin-bottom: var(--space-md);
  padding-left: var(--space-xl);
}

.markdown-content li {
  line-height: 1.7;
  color: var(--color-gray-700);
}

.markdown-content blockquote {
  border-left: 4px solid var(--color-gray-300);
  padding-left: var(--space-lg);
  margin: var(--space-md) 0;
  color: var(--color-gray-600);
  font-style: italic;
}

.markdown-content table {
  margin: var(--space-lg) 0;
}

.markdown-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

.markdown-content hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: var(--space-xl) 0;
}

/* ==========================================================================
   Classifications Table
   ========================================================================== */

.classifications {
  margin-bottom: var(--space-2xl);
}

.classifications__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.classifications__wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.classifications table {
  font-size: 0.875rem;
}

/* ==========================================================================
   Cross-references
   ========================================================================== */

.cross-references {
  margin-bottom: var(--space-2xl);
}

.cross-references__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.cross-references__list {
  list-style: none;
  padding: 0;
}

.cross-references__item {
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-sm);
}

.cross-references__standard {
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-800);
}

.cross-references__criterion {
  color: var(--color-gray-600);
  font-size: 0.875rem;
}

.cross-references__relationship {
  font-size: 0.8rem;
  color: var(--color-gray-500);
  margin-top: var(--space-xs);
}

.cross-references__description {
  font-size: 0.875rem;
  color: var(--color-gray-700);
  margin-top: var(--space-xs);
}

/* ==========================================================================
   UN Conformity
   ========================================================================== */

.un-conformity {
  margin-bottom: var(--space-2xl);
}

.un-conformity__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-md);
}

.un-conformity__meta {
  font-size: 0.875rem;
  color: var(--color-gray-600);
  margin-bottom: var(--space-md);
}

.un-conformity__sdg-list {
  list-style: none;
  padding: 0;
}

.un-conformity__sdg-item {
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-sm);
}

.un-conformity__sdg-goal {
  font-weight: var(--font-weight-bold);
  color: var(--color-accent-info);
}

.un-conformity__sdg-target {
  font-size: 0.875rem;
  color: var(--color-gray-600);
}

.un-conformity__sdg-description {
  font-size: 0.875rem;
  color: var(--color-gray-700);
  margin-top: var(--space-xs);
}

/* ==========================================================================
   Section utility
   ========================================================================== */

.section {
  margin-bottom: var(--space-2xl);
}

.section__title {
  font-size: 1.5rem;
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--color-border);
}

/* ==========================================================================
   Scheme Page — Accordion Component
   ========================================================================== */

.accordion {
  /* wrapper for the full accordion list */
}

.accordion details {
  border-bottom: 1px solid var(--color-accordion-border);
}

.accordion summary {
  padding: 12px 0;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-body);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none; /* hide default marker */
}

.accordion summary::-webkit-details-marker {
  display: none;
}

/* Chevron via mask-image — rotates when open */
.accordion summary::after {
  content: '';
  width: 24px;
  height: 24px;
  background-color: var(--color-body);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 15.4L6 9.4L7.4 8L12 12.6L16.6 8L18 9.4L12 15.4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 15.4L6 9.4L7.4 8L12 12.6L16.6 8L18 9.4L12 15.4Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: transform 0.2s ease;
  flex-shrink: 0;
  margin-left: 8px;
}

.accordion details[open] > summary::after {
  transform: rotate(180deg);
}

.accordion .accordion__content {
  padding: 16px 0 12px;
}

/* ==========================================================================
   Scheme Page — Selectors (pill-shaped <select> dropdowns)
   ========================================================================== */

.scheme-selectors {
  display: flex;
  gap: 12px;
  margin-bottom: var(--space-lg);
}

.scheme-select-wrapper {
  position: relative;
  display: inline-block;
}

/* Dropdown chevron — filled triangle, mask-image so colour follows --color-body */
.scheme-select-wrapper::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  background-color: var(--color-body);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 15L7 10H17L12 15Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 15L7 10H17L12 15Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  pointer-events: none;
}

/* Prefix icon — language (globe) */
.scheme-select-wrapper--language::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  background-color: var(--color-body);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='black'%3E%3Cpath d='M6.89583 17.375C5.92361 16.9583 5.07292 16.3854 4.34375 15.6562C3.61458 14.9271 3.04167 14.0764 2.625 13.1042C2.20833 12.1319 2 11.0938 2 9.98958C2 8.88542 2.20833 7.85069 2.625 6.88542C3.04167 5.92014 3.61458 5.07292 4.34375 4.34375C5.07292 3.61458 5.92361 3.04167 6.89583 2.625C7.86806 2.20833 8.90625 2 10.0104 2C11.1146 2 12.1493 2.20833 13.1146 2.625C14.0799 3.04167 14.9271 3.61458 15.6562 4.34375C16.3854 5.07292 16.9583 5.92014 17.375 6.88542C17.7917 7.85069 18 8.88542 18 9.98958C18 11.0938 17.7917 12.1319 17.375 13.1042C16.9583 14.0764 16.3854 14.9271 15.6562 15.6562C14.9271 16.3854 14.0799 16.9583 13.1146 17.375C12.1493 17.7917 11.1146 18 10.0104 18C8.90625 18 7.86806 17.7917 6.89583 17.375ZM10 16.4375C10.2361 16.2014 10.4722 15.7604 10.7083 15.1146C10.9444 14.4688 11.125 13.7639 11.25 13H8.75C8.875 13.7639 9.05556 14.4688 9.29167 15.1146C9.52778 15.7604 9.76389 16.2014 10 16.4375ZM8.10417 16.2292C7.90972 15.8125 7.73958 15.3333 7.59375 14.7917C7.44792 14.25 7.32639 13.6528 7.22917 13H4.25C4.65278 13.7917 5.1875 14.4688 5.85417 15.0312C6.52083 15.5938 7.27083 15.9931 8.10417 16.2292ZM11.8958 16.2292C12.7292 15.9931 13.4792 15.5938 14.1458 15.0312C14.8125 14.4688 15.3472 13.7917 15.75 13H12.7708C12.6736 13.6528 12.5521 14.25 12.4062 14.7917C12.2604 15.3333 12.0903 15.8125 11.8958 16.2292ZM3.6875 11.5H7.04167C7.01389 11.2361 6.99653 10.9757 6.98958 10.7188C6.98264 10.4618 6.97917 10.2083 6.97917 9.95833C6.97917 9.70833 6.98264 9.46181 6.98958 9.21875C6.99653 8.97569 7.01389 8.73611 7.04167 8.5H3.6875C3.61806 8.76389 3.56944 9.01736 3.54167 9.26042C3.51389 9.50347 3.5 9.75 3.5 10C3.5 10.25 3.51389 10.4965 3.54167 10.7396C3.56944 10.9826 3.61806 11.2361 3.6875 11.5ZM8.5625 11.5H11.4375C11.4653 11.2222 11.4826 10.9618 11.4896 10.7188C11.4965 10.4757 11.5 10.2361 11.5 10C11.5 9.76389 11.4965 9.52083 11.4896 9.27083C11.4826 9.02083 11.4653 8.76389 11.4375 8.5H8.5625C8.53472 8.76389 8.51736 9.02083 8.51042 9.27083C8.50347 9.52083 8.5 9.76389 8.5 10C8.5 10.2361 8.50347 10.4792 8.51042 10.7292C8.51736 10.9792 8.53472 11.2361 8.5625 11.5ZM12.9583 11.5H16.3125C16.3819 11.2361 16.4306 10.9826 16.4583 10.7396C16.4861 10.4965 16.5 10.25 16.5 10C16.5 9.75 16.4861 9.5 16.4583 9.25C16.4306 9 16.3819 8.75 16.3125 8.5H12.9583C12.9861 8.76389 13.0035 9.02431 13.0104 9.28125C13.0174 9.53819 13.0208 9.79167 13.0208 10.0417C13.0208 10.2917 13.0174 10.5382 13.0104 10.7812C13.0035 11.0243 12.9861 11.2639 12.9583 11.5ZM12.7708 7H15.75C15.3472 6.20833 14.8125 5.53125 14.1458 4.96875C13.4792 4.40625 12.7292 4.00694 11.8958 3.77083C12.0903 4.1875 12.2604 4.66667 12.4062 5.20833C12.5521 5.75 12.6736 6.34722 12.7708 7ZM8.75 7H11.25C11.125 6.23611 10.9444 5.53125 10.7083 4.88542C10.4722 4.23958 10.2361 3.79861 10 3.5625C9.76389 3.79861 9.52778 4.23958 9.29167 4.88542C9.05556 5.53125 8.875 6.23611 8.75 7ZM4.25 7H7.22917C7.32639 6.34722 7.44792 5.75 7.59375 5.20833C7.73958 4.66667 7.90972 4.1875 8.10417 3.77083C7.27083 4.00694 6.52083 4.40625 5.85417 4.96875C5.1875 5.53125 4.65278 6.20833 4.25 7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='black'%3E%3Cpath d='M6.89583 17.375C5.92361 16.9583 5.07292 16.3854 4.34375 15.6562C3.61458 14.9271 3.04167 14.0764 2.625 13.1042C2.20833 12.1319 2 11.0938 2 9.98958C2 8.88542 2.20833 7.85069 2.625 6.88542C3.04167 5.92014 3.61458 5.07292 4.34375 4.34375C5.07292 3.61458 5.92361 3.04167 6.89583 2.625C7.86806 2.20833 8.90625 2 10.0104 2C11.1146 2 12.1493 2.20833 13.1146 2.625C14.0799 3.04167 14.9271 3.61458 15.6562 4.34375C16.3854 5.07292 16.9583 5.92014 17.375 6.88542C17.7917 7.85069 18 8.88542 18 9.98958C18 11.0938 17.7917 12.1319 17.375 13.1042C16.9583 14.0764 16.3854 14.9271 15.6562 15.6562C14.9271 16.3854 14.0799 16.9583 13.1146 17.375C12.1493 17.7917 11.1146 18 10.0104 18C8.90625 18 7.86806 17.7917 6.89583 17.375ZM10 16.4375C10.2361 16.2014 10.4722 15.7604 10.7083 15.1146C10.9444 14.4688 11.125 13.7639 11.25 13H8.75C8.875 13.7639 9.05556 14.4688 9.29167 15.1146C9.52778 15.7604 9.76389 16.2014 10 16.4375ZM8.10417 16.2292C7.90972 15.8125 7.73958 15.3333 7.59375 14.7917C7.44792 14.25 7.32639 13.6528 7.22917 13H4.25C4.65278 13.7917 5.1875 14.4688 5.85417 15.0312C6.52083 15.5938 7.27083 15.9931 8.10417 16.2292ZM11.8958 16.2292C12.7292 15.9931 13.4792 15.5938 14.1458 15.0312C14.8125 14.4688 15.3472 13.7917 15.75 13H12.7708C12.6736 13.6528 12.5521 14.25 12.4062 14.7917C12.2604 15.3333 12.0903 15.8125 11.8958 16.2292ZM3.6875 11.5H7.04167C7.01389 11.2361 6.99653 10.9757 6.98958 10.7188C6.98264 10.4618 6.97917 10.2083 6.97917 9.95833C6.97917 9.70833 6.98264 9.46181 6.98958 9.21875C6.99653 8.97569 7.01389 8.73611 7.04167 8.5H3.6875C3.61806 8.76389 3.56944 9.01736 3.54167 9.26042C3.51389 9.50347 3.5 9.75 3.5 10C3.5 10.25 3.51389 10.4965 3.54167 10.7396C3.56944 10.9826 3.61806 11.2361 3.6875 11.5ZM8.5625 11.5H11.4375C11.4653 11.2222 11.4826 10.9618 11.4896 10.7188C11.4965 10.4757 11.5 10.2361 11.5 10C11.5 9.76389 11.4965 9.52083 11.4896 9.27083C11.4826 9.02083 11.4653 8.76389 11.4375 8.5H8.5625C8.53472 8.76389 8.51736 9.02083 8.51042 9.27083C8.50347 9.52083 8.5 9.76389 8.5 10C8.5 10.2361 8.50347 10.4792 8.51042 10.7292C8.51736 10.9792 8.53472 11.2361 8.5625 11.5ZM12.9583 11.5H16.3125C16.3819 11.2361 16.4306 10.9826 16.4583 10.7396C16.4861 10.4965 16.5 10.25 16.5 10C16.5 9.75 16.4861 9.5 16.4583 9.25C16.4306 9 16.3819 8.75 16.3125 8.5H12.9583C12.9861 8.76389 13.0035 9.02431 13.0104 9.28125C13.0174 9.53819 13.0208 9.79167 13.0208 10.0417C13.0208 10.2917 13.0174 10.5382 13.0104 10.7812C13.0035 11.0243 12.9861 11.2639 12.9583 11.5ZM12.7708 7H15.75C15.3472 6.20833 14.8125 5.53125 14.1458 4.96875C13.4792 4.40625 12.7292 4.00694 11.8958 3.77083C12.0903 4.1875 12.2604 4.66667 12.4062 5.20833C12.5521 5.75 12.6736 6.34722 12.7708 7ZM8.75 7H11.25C11.125 6.23611 10.9444 5.53125 10.7083 4.88542C10.4722 4.23958 10.2361 3.79861 10 3.5625C9.76389 3.79861 9.52778 4.23958 9.29167 4.88542C9.05556 5.53125 8.875 6.23611 8.75 7ZM4.25 7H7.22917C7.32639 6.34722 7.44792 5.75 7.59375 5.20833C7.73958 4.66667 7.90972 4.1875 8.10417 3.77083C7.27083 4.00694 6.52083 4.40625 5.85417 4.96875C5.1875 5.53125 4.65278 6.20833 4.25 7Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  pointer-events: none;
}

/* Prefix icon — version (commit) */
.scheme-select-wrapper--version::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  background-color: var(--color-body);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='black'%3E%3Cpath d='M7.42708 13.0729C6.69792 12.4549 6.24306 11.6806 6.0625 10.75H2V9.25H6.0625C6.24306 8.31944 6.69792 7.54514 7.42708 6.92708C8.15625 6.30903 9.01389 6 10 6C10.9861 6 11.8438 6.30903 12.5729 6.92708C13.3021 7.54514 13.7569 8.31944 13.9375 9.25H18V10.75H13.9375C13.7569 11.6806 13.3021 12.4549 12.5729 13.0729C11.8438 13.691 10.9861 14 10 14C9.01389 14 8.15625 13.691 7.42708 13.0729ZM10 12.5C10.6944 12.5 11.2847 12.2569 11.7708 11.7708C12.2569 11.2847 12.5 10.6944 12.5 10C12.5 9.30556 12.2569 8.71528 11.7708 8.22917C11.2847 7.74306 10.6944 7.5 10 7.5C9.30556 7.5 8.71528 7.74306 8.22917 8.22917C7.74306 8.71528 7.5 9.30556 7.5 10C7.5 10.6944 7.74306 11.2847 8.22917 11.7708C8.71528 12.2569 9.30556 12.5 10 12.5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='black'%3E%3Cpath d='M7.42708 13.0729C6.69792 12.4549 6.24306 11.6806 6.0625 10.75H2V9.25H6.0625C6.24306 8.31944 6.69792 7.54514 7.42708 6.92708C8.15625 6.30903 9.01389 6 10 6C10.9861 6 11.8438 6.30903 12.5729 6.92708C13.3021 7.54514 13.7569 8.31944 13.9375 9.25H18V10.75H13.9375C13.7569 11.6806 13.3021 12.4549 12.5729 13.0729C11.8438 13.691 10.9861 14 10 14C9.01389 14 8.15625 13.691 7.42708 13.0729ZM10 12.5C10.6944 12.5 11.2847 12.2569 11.7708 11.7708C12.2569 11.2847 12.5 10.6944 12.5 10C12.5 9.30556 12.2569 8.71528 11.7708 8.22917C11.2847 7.74306 10.6944 7.5 10 7.5C9.30556 7.5 8.71528 7.74306 8.22917 8.22917C7.74306 8.71528 7.5 9.30556 7.5 10C7.5 10.6944 7.74306 11.2847 8.22917 11.7708C8.71528 12.2569 9.30556 12.5 10 12.5Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  pointer-events: none;
}

.scheme-select {
  padding: 6px 32px 6px 36px;
  border-radius: 4px;
  border: 1px solid var(--color-selector-border);
  font-size: 1rem;
  font-family: var(--font-family);
  color: var(--color-body);
  background: var(--color-bg);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
}

@media (max-width: 767px) {
  .scheme-selectors {
    flex-direction: column;
  }
  .scheme-select-wrapper {
    display: block;
  }
}

/* ==========================================================================
   Scheme Page — Title
   ========================================================================== */

.scheme-title {
  font-size: 3rem; /* 48px */
  font-weight: 400;
  color: var(--color-heading);
  line-height: 1.09;
  margin-bottom: var(--space-lg);
}

@media (max-width: 767px) {
  .scheme-title {
    font-size: 2rem; /* 32px */
    line-height: 1.09;
  }
}

/* ==========================================================================
   Scheme Page — Info Card (green status box)
   ========================================================================== */

.scheme-info-card {
  background: var(--color-status-bg);
  border: 1px solid var(--color-status-border);
  border-radius: 7px;
  padding: 20px 24px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.08);
  margin-bottom: var(--space-lg);
  font-size: 1rem;
  line-height: 1.375;
  color: var(--color-body);
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.scheme-info-card__line {
  /* desktop: fields pipe-separated inline */
}

@media (max-width: 767px) {
  .scheme-info-card__line {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .scheme-info-card__separator {
    display: none;
  }
}

/* ==========================================================================
   Scheme Page — Summary Text
   ========================================================================== */

.scheme-summary {
  font-size: 1rem;
  line-height: 1.375;
  color: var(--color-body);
  margin-bottom: var(--space-lg);
}

/* ==========================================================================
   Scheme Page — Accordion Inner: Category Heading
   ========================================================================== */

.accordion__category-title {
  font-size: 1.25rem; /* 20px */
  font-weight: 400;
  color: var(--color-heading);
  line-height: 1.14;
  margin-bottom: var(--space-md);
}

/* ==========================================================================
   Scheme Page — Accordion Inner: Criteria List
   ========================================================================== */

.accordion__criteria-list {
  list-style: disc;
  padding-left: var(--space-xl);
}

.accordion__criteria-list li {
  margin-bottom: var(--space-xs);
}

.accordion__criteria-link {
  color: var(--color-heading);
  text-decoration: underline;
}

.accordion__criteria-version {
  color: var(--color-body);
}

/* ==========================================================================
   Scheme Page — Accordion Inner: Scoring / Recognition Levels
   ========================================================================== */

.accordion__level-item {
  margin-bottom: var(--space-xl);
}

.accordion__level-title {
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--color-heading);
  line-height: 1.14;
  margin-bottom: var(--space-sm);
}

.accordion__level-body {
  font-size: 1rem;
  line-height: 1.375;
  color: var(--color-body);
}

/* Recognition levels use slightly larger title */
.accordion__level-item--recognition .accordion__level-title {
  font-size: 1.375rem; /* 22px per Figma */
  line-height: 1.14;
}

/* Prevent horizontal overflow on scheme pages */
.accordion .accordion__content {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.alignment-panel__wrapper table,
.accordion__content table {
  table-layout: auto;
  min-width: 0;
}

/* ==========================================================================
   Back to Top Button
   ========================================================================== */

.back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 100;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
}

.back-to-top::after {
  content: '';
  width: 20px;
  height: 20px;
  background-color: var(--color-body);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 8.6L18 14.6L16.6 16L12 11.4L7.4 16L6 14.6L12 8.6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 8.6L18 14.6L16.6 16L12 11.4L7.4 16L6 14.6L12 8.6Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.back-to-top:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
  border-color: var(--color-gray-400);
}

@media (max-width: 767px) {
  .back-to-top {
    bottom: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
  }
}
