.registry-programme {
  --registry-line: #355582;
  --registry-muted: #c2cfe3;
  --registry-inset: 20px;
  display: grid;
  gap: 12px;
  min-width: 0;
  font: 400 15px/1.55 'Noto Sans', system-ui, sans-serif;
}
.registry-programme h3,
.registry-programme h4,
.registry-programme h5,
.registry-programme p { margin: 0; }
.registry-programme h3 {
  color: #fff;
  font: 700 19px/1.3 Montserrat, sans-serif;
}
.registry-box {
  min-width: 0;
  padding: 17px var(--registry-inset);
  background: #172e51;
  border: 1px solid var(--registry-line);
  border-inline-start: 3px solid #c7beff;
  border-radius: 9px;
}
.registry-central-heading,
.registry-section-heading,
.registry-channels {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 18px;
}
.registry-source,
.registry-section-heading > span,
.registry-programme small { color: var(--registry-muted); font-size: 13px; }
.registry-central-heading, .registry-section-heading { justify-content: space-between; }
.registry-person { display: grid; gap: 3px; min-width: 0; }
.registry-central .registry-person { margin-top: 7px; }
.registry-channels { gap: 6px 26px; }
.registry-programme .registry-note { color: var(--registry-muted); font-size: 14px; }
.registry-programme a {
  color: #d6d0ff;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.registry-cities {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.registry-city {
  min-width: 0;
  background: #102647;
  border: 1px solid var(--registry-line);
  border-radius: 7px;
}
.registry-city > summary h4 {
  color: #e6e2ff;
  font: 700 17px/1.4 Montserrat, sans-serif;
}
.registry-city-sites { padding: 0 14px; border-top: 1px solid var(--registry-line); }
.registry-city-sites .registry-note { padding: 0 0 12px; font-size: 13px; }
.registry-programme summary {
  display: flex;
  align-items: baseline;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}
.registry-programme summary::-webkit-details-marker { display: none; }
.registry-programme summary::after {
  content: '';
  flex: 0 0 6px;
  height: 6px;
  border-right: 1.5px solid #c7beff;
  border-bottom: 1.5px solid #c7beff;
  transform: rotate(-45deg);
}
.registry-programme details[open] > summary::after { transform: rotate(45deg); }
.registry-programme summary:focus-visible,
.registry-programme a:focus-visible { outline: 2px solid #9beae5; outline-offset: 3px; }
.registry-site + .registry-site { border-top: 1px solid var(--registry-line); }
.registry-site > summary { padding: 12px 0; overflow-wrap: anywhere; }
.registry-site > summary::after { order: -1; align-self: flex-start; margin-top: 7px; }
.registry-site-heading { min-width: 0; }
.registry-site summary:hover strong, .registry-disclosure > summary:hover h3 > span,
.registry-city > summary:hover h4 > span { text-decoration: underline; text-underline-offset: 3px; }
.registry-site-heading > strong { display: block; }
.registry-site small { display: flex; gap: 10px; flex-wrap: wrap; }
.registry-status { color: #95d9bd; }
.registry-assignment {
  display: block;
  margin-block-start: 5px;
  color: var(--registry-muted);
  line-height: 1.45;
  font-size: 13px;
}
.registry-assignment b { font-weight: 600; color: #95d9bd; }
.registry-assignment[data-pending="true"] b { color: #f2cd81; }
.registry-site-contacts { padding: 0 0 14px 16px; font-size: 14px; }
.registry-site-contacts h5 { color: #fff; font-size: 14px; font-weight: 600; }
.registry-site-contacts h5:not(:first-child) { margin-top: 12px; }
.registry-site-contacts p { color: var(--registry-muted); }
.registry-contact-link { display: inline-block; padding: 8px 0; }
.registry-disclosure { padding: 0; }
.registry-disclosure > summary, .registry-city > summary {
  align-items: center;
  box-sizing: border-box;
  min-height: 44px;
  border-radius: inherit;
}
.registry-disclosure > summary { padding: 17px var(--registry-inset); }
.registry-city > summary { padding: 11px 14px; }
.registry-disclosure > summary h3, .registry-city > summary h4 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  flex: 1;
  gap: 3px 12px;
  min-width: 0;
}
.registry-disclosure small, .registry-city > summary small {
  font: 400 13px/1.45 'Noto Sans', system-ui, sans-serif;
}
.registry-dates {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  border-top: 1px solid var(--registry-line);
  margin: 0;
  padding-top: 12px;
  font-size: 13px;
}
.registry-dates dt { color: var(--registry-muted); }
.registry-dates dd { margin: 0; }
@media (min-width: 960px) {
  #country-panel > div:has(.registry-programme) {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(255px, 1fr);
  }
}
@media (max-width: 600px) {
  #country-panel:has(.registry-programme) { padding-inline: 12px !important; }
  #country-panel:has(.registry-programme) > div { padding: 16px !important; }
  #country-panel article:has(.registry-programme) { padding: 14px !important; }
  .registry-programme { --registry-inset: 12px; }
  .registry-disclosure small { flex-basis: 100%; }
}

.open-country-hub {
  display: inline-flex; align-items: center; align-self: flex-start; gap: 10px;
  min-height: 44px; padding: 5px 15px; background: #a7e7d8; color: #0b3040;
  border-radius: 30px; font: 700 14px Montserrat, sans-serif; text-decoration: none;
}
.open-country-hub:hover { background: #c6f4e7; }

/* Registry-supplied text on both the European map and country pages. */
.registry-readers {
  --registry-inset: clamp(12px, 2vw, 20px);
  --registry-line: #355582;
  --registry-muted: #c2cfe3;
  display: grid;
  gap: 8px;
  margin-block: 9px;
  min-width: 0;
}
.reading-panel { color: #e7eef7; font: 400 16px/1.65 'Noto Sans', system-ui, sans-serif; }
.reading-panel > summary { display: flex; gap: 10px; align-items: center; cursor: pointer; list-style: none; }
.reading-panel summary::-webkit-details-marker { display: none; }
.reading-panel > summary::after {
  content: ''; flex: 0 0 6px; height: 6px;
  border-right: 1.5px solid #c7beff; border-bottom: 1.5px solid #c7beff; transform: rotate(-45deg);
}
.reading-panel[open] > summary::after { transform: rotate(45deg); }
.reading-panel summary:focus-visible { outline: 2px solid #9beae5; outline-offset: -3px; border-radius: 5px; }
.reading-panel > summary h3 { margin: 0; color: #fff; font: 700 18px/1.35 Montserrat, sans-serif; }
.reading-panel > summary small { color: var(--registry-muted); }
.reading-body {
  padding: 17px var(--registry-inset) 22px;
  border-top: 1px solid var(--registry-line);
  min-width: 0;
  overflow-wrap: anywhere;
}
.reading-body > *, .reading-narrative { max-width: 68ch; }
.reading-panel[data-reading="about"] { container-type: inline-size; }
.reading-body > .reading-overview { max-width: none; display: grid; gap: 20px; }
.reading-narrative > * + * { margin-top: 18px; }
.reading-overview .reading-facts { margin: 0; }
@container (min-width: 780px) {
  .reading-overview:has(.reading-facts) { grid-template-columns: minmax(0, 1fr) minmax(205px, .42fr); gap: clamp(32px, 4cqi, 64px); }
  .reading-overview .reading-facts {
    align-self: start; grid-template-columns: 1fr; gap: 14px; border-block-start: 0;
    border-inline-start: 1px solid var(--registry-line); padding-block-start: 0; padding-inline-start: 22px;
  }
}
.reading-body h4 { margin: 0 0 9px; font: 700 16px/1.4 Montserrat, sans-serif; color: #fff; }
.reading-body p, .registry-programme .reading-body p { margin: 0; }
.reading-body p + p, .reading-body .source-list + p { margin-block-start: .7em; }
.reading-original > * + * { margin-top: 16px; }
.reading-passage h4 small { color: var(--registry-muted); font: 400 13px/1.45 system-ui, sans-serif; }
.reading-body .source-subheading { font-weight: 650; }
.reading-body .source-subheading:not(:first-child) { margin-top: 1em; }
.reading-body > * + *, .criteria-section + .criteria-section { margin-top: 20px; }
.criteria-section h4 {
  border-inline-start: 3px solid #87dccc;
  padding-inline-start: 10px;
  color: #b7f3e7;
}
.source-phase strong { color: #f4f8fc; font-weight: 700; }
.criteria-banner {
  display: flex; align-items: flex-start; gap: 10px; padding: 11px 14px; margin-bottom: 14px;
  border: 1px solid var(--banner-line); border-inline-start: 4px solid var(--banner-accent); border-radius: 7px;
  background: var(--banner-bg); color: var(--banner-text);
}
.criteria-inclusion-heading {
  --banner-line: #417f70; --banner-accent: #8edbb6; --banner-bg: #173b36; --banner-text: #dbf6e5;
}
.criteria-exclusion-heading {
  --banner-line: #9b646a; --banner-accent: #ffa99e; --banner-bg: #3a2734; --banner-text: #ffdfd8;
}
.criteria-section .criteria-banner h4 { margin: 0; padding: 0; border: 0; color: inherit; }
.criteria-banner p { font-size: 14px; line-height: 1.5; }
.criteria-symbol {
  position: relative; display: grid; flex: 0 0 17px; height: 17px; place-items: center; margin-top: 3px;
  color: var(--banner-accent); border: 2px solid currentColor; border-radius: 50%; box-sizing: border-box;
}
.criteria-symbol::before, .criteria-inclusion-heading .criteria-symbol::after {
  content: ''; grid-area: 1/1; width: 7px; border-top: 2px solid currentColor;
}
.criteria-inclusion-heading .criteria-symbol::after { transform: rotate(90deg); }
.criteria-section + .criteria-section { border-top: 1px solid var(--registry-line); padding-top: 18px; }
.source-entry + .source-entry { border-top: 1px solid #314967; padding-top: .7em; margin-top: .7em; }
.reading-body .source-list { list-style: none; margin: .5em 0 0; padding: 0; }
.source-list > li { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: baseline; gap: .6em; }
.source-list > li + li { margin-top: .55em; }
.source-marker { color: #c7d9e6; min-width: 1.45em; font-weight: 650; font-variant-numeric: tabular-nums; }
.source-list .source-list { border-inline-start: 1px solid #486483; padding-inline-start: .75em; font-size: .96em; }
.source-list .source-list > li + li { margin-top: .4em; }
.reading-more {
  border-block: 1px solid var(--registry-line);
  padding-block: 2px;
}
.reading-more > summary {
  display: flex; justify-content: space-between; align-items: center;
  min-height: 44px; gap: 8px; cursor: pointer; list-style: none; color: #d3d1ff; font-weight: 650;
}
.reading-panel .reading-more > summary::after {
  content: '+'; flex: 0 0 auto; border: 0; height: auto; transform: none; font-size: 1.1em;
}
.reading-panel .reading-more[open] > summary::after { content: '−'; transform: none; }
.reading-more[open] > :last-child { padding-bottom: 12px; }
.reading-facts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px),1fr));
  gap: 12px 20px; margin-bottom: 0; border-top: 1px solid var(--registry-line); padding-top: 14px;
}
.reading-facts dt { color: #bfd0e3; font-size: 13px; }
.reading-facts dd { margin: 2px 0 0; color: #f4f7fa; font-size: 15px; }
.reading-draft { color: #f2cd81; }
@media (max-width: 600px) {
  .reading-panel > summary { padding-block: 13px; }
  .reading-body { padding-block: 14px; }
  .source-list .source-list { padding-inline-start: .5em; }
}

.registry-centre-note { display: block; margin-block: 2px 3px; font-size: 12px; line-height: 1.4; color: #c7d4e2; }
.registry-centre-note[data-listed="true"] { color: #ebd3a5; }
.data-freshness {
  grid-column:1/-1; display:grid; grid-template-columns:20px minmax(0,1fr) minmax(0,1.3fr); align-items:center;
  column-gap:10px; row-gap:8px; margin:0; padding:12px 14px; border-top:1px solid #3c6378;
  border-radius:0 0 11px 11px; background:#15364a; color:#d5e8ed;
  font:500 12px/1.45 'Noto Sans',system-ui,sans-serif;
}
.data-freshness::before {
  content:''; width:18px; height:18px; align-self:center;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239be1da' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.freshness-timing,.freshness-source { display:flex; flex-direction:column; gap:2px; min-width:0; }
.freshness-source { text-align:end; }
.freshness-caption { color:#b4d0dc; font-size:10px; font-weight:650; letter-spacing:.055em; text-transform:uppercase; }
.freshness-date { color:#f1fbfc; font-size:15px; line-height:1.4; font-weight:700; }
.freshness-source a { color:#d3f4ef; text-decoration:underline; text-underline-offset:3px; }
.freshness-source-item + .freshness-source-item::before { content:' + '; white-space:pre; color:#b7c7dc; }
.data-freshness a:focus-visible { outline:2px solid #9beae5; outline-offset:4px; }
.intro-replay { display:inline-flex; align-items:center; gap:7px; }
.intro-replay:hover { background:#15384c !important; border-color:#6ab5ae !important; }
.intro-replay:focus-visible { outline:2px solid #9beae5; outline-offset:3px; }
@media(max-width:480px) {
  .data-freshness { grid-template-columns:18px minmax(0,1fr); padding:10px 12px; gap:4px 10px; }
  .freshness-source { grid-column:2; text-align:start; margin-top:3px; }
  .freshness-source .freshness-caption { display:none; }
}

.registry-centre-extra { margin:8px 0 12px; border:1px solid #355677; border-radius:8px; background:#0c2345; overflow-wrap:anywhere; }
.registry-centre-extra > summary { padding:8px 10px; color:#bde9eb; font-size:12px; font-weight:600; cursor:pointer; }
.registry-centre-extra .registry-person { padding:10px; border-top:1px solid #294765; margin:0; font-size:13px; }
.registry-centre-extra a { color:#bde9eb; }
.registry-centre-extra summary:focus-visible { outline:2px solid #9beae5; outline-offset:-2px; }
