/* Eén plek voor maatwerkopmaak; thema-kleuren blijven via Stijlen instelbaar. */
/* Paginering en footer. */
.wp-block-query-pagination,
footer.wp-block-template-part {
  box-sizing: border-box;
  width: calc(100% - 40px) !important;
  max-width: 720px !important;
  margin-inline: auto !important;
}

.wp-block-query-pagination {
  margin-top: 24px !important;
  margin-bottom: 0 !important;
}

footer.wp-block-template-part {
  width: 100% !important;
  max-width: none !important;
  margin-top: 32px !important;
  margin-bottom: 0 !important;
  padding: 20px 24px !important;
  background: #f1f3ee;
  color: #536052;
}

footer.wp-block-template-part p {
  margin-block: 0;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

footer.wp-block-template-part .wp-block-site-logo,
footer.wp-block-template-part .wp-block-site-title,
footer.wp-block-template-part .wp-block-site-tagline,
footer.wp-block-template-part .wp-block-navigation {
  display: none !important;
}

/* Mobiele weergave. */
@media (max-width: 600px) {
  .wp-block-query-pagination,
  footer.wp-block-template-part {
    width: calc(100% - 32px) !important;
  }

  footer.wp-block-template-part {
    width: 100% !important;
    margin-top: 32px !important;
    padding: 18px 16px !important;
  }
}

/* Eén typografische schaal voor homepage, pagina's en berichten. */
body {
  --michel-tekst: 22px;
  --michel-leesritme: 1.65;
  --michel-kop: 32px;
  --michel-detail: 16px;
  font-family: Georgia, 'Times New Roman', serif;
}
main p,
main .wp-block-post-content li,
main .wp-block-post-excerpt {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: var(--michel-tekst) !important;
  line-height: var(--michel-leesritme) !important;
}
main h1,
main h2 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: var(--michel-kop) !important;
  line-height: 1.25 !important;
}
main h3 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
}
.home main .wp-block-post-title,
main .wp-block-query .wp-block-post-title {
  font-size: var(--michel-tekst) !important;
  line-height: 1.5 !important;
  margin-block: 0 !important;
}
.wp-block-site-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 29px !important;
  line-height: 1.2 !important;
}
main .wp-block-post-date,
main figcaption,
footer.wp-block-template-part p {
  font-size: var(--michel-detail) !important;
  line-height: 1.5 !important;
}
main .wp-block-post-date {
  margin-block: 0 8px !important;
}
main .wp-block-post-content > * + * {
  margin-block-start: 24px !important;
}
main .wp-block-query .wp-block-post-content {
  margin-block-start: 0 !important;
}
.wp-site-blocks > main {
  margin-block-start: 32px !important;
}
.wp-site-blocks > main > .wp-block-group {
  padding-block: 0 !important;
}
.home main > p {
  margin-block: 0 24px !important;
}
.home main > .wp-block-heading {
  margin-block: 48px 24px !important;
}
.home main .wp-block-post-template,
main .wp-block-post-template {
  row-gap: 24px !important;
}
main .wp-block-post-template > li {
  margin-block: 0 !important;
}
main .wp-block-post-template > li + li {
  margin-block-start: 24px !important;
}
main .wp-block-post-template > li.wp-block-post > .wp-block-group {
  padding-block: 0 !important;
}
.michels-page-articles main .michels-archive-year h2 {
  margin-block: 32px 0 !important;
}
.michels-page-articles main .michels-archive-year:first-child h2 {
  margin-block-start: 0 !important;
}
.michels-page-articles main .michels-archive-month h3 {
  margin-block: 0 !important;
}

.home main .wp-block-post-date {
  margin-block: 0 8px !important;
}

/* Bescheiden zoekveld op Artikelen en zoekresultaten. */
:is(.michels-page-articles, .search) main .wp-block-search {
  max-width: 32rem;
  margin-inline: 0 !important;
  width: 100%;
}
:is(.michels-page-articles, .search) main .wp-block-search__inside-wrapper {
  display: flex;
  gap: 8px;
  padding: 0;
  border: 0;
}
:is(.michels-page-articles, .search) main .wp-block-search__input,
:is(.michels-page-articles, .search) main .wp-block-search__button {
  font-family: inherit;
  font-size: 18px !important;
  line-height: 1.4;
  border-radius: 4px !important;
  min-height: 44px;
  box-sizing: border-box;
}
:is(.michels-page-articles, .search) main .wp-block-search__input {
  min-width: 0;
  flex: 1;
  padding: 8px 12px !important;
  color: inherit;
  background: rgba(255, 255, 255, 0.25) !important;
  border: 1px solid #899887 !important;
}
:is(.michels-page-articles, .search) main .wp-block-search__button {
  margin: 0 !important;
  padding: 8px 14px !important;
  color: #315f78 !important;
  background: transparent !important;
  border: 1px solid #315f78 !important;
  font-weight: 400;
  flex-shrink: 0;
}
:is(.michels-page-articles, .search) main .wp-block-search__button:hover {
  background: rgba(49, 95, 120, 0.08) !important;
}
:is(.michels-page-articles, .search) main .wp-block-search__input:focus-visible,
:is(.michels-page-articles, .search) main .wp-block-search__button:focus-visible {
  outline: 2px solid #315f78;
  outline-offset: 3px;
}

:is(.archive, .search, .michels-page-articles) main .wp-block-post-template {
  row-gap: 0 !important;
}
:is(.archive, .search, .michels-page-articles) main .wp-block-post-template > li.wp-block-post {
  margin-block: 0 !important;
  padding-block: 0 !important;
}
:is(.archive, .search, .michels-page-articles)
  main
  .wp-block-post-template
  > li.wp-block-post
  > .wp-block-group {
  padding-block: 0 !important;
  display: block !important;
}
:is(.archive, .search, .michels-page-articles) main .wp-block-post-date {
  margin-block: 0 8px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
:is(.archive, .search, .michels-page-articles) main .wp-block-query .wp-block-post-title {
  margin-block: 0 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
:is(.archive, .search) main > .wp-block-query-title {
  margin-block: 0 24px !important;
}
:is(.archive, .search) main > .wp-block-term-description {
  margin-block: 0 24px !important;
}
:is(.archive, .search) main > .wp-block-term-description p {
  margin-block: 0 !important;
}
:is(.archive, .search) main > .wp-block-query {
  margin-block-start: 24px !important;
}
:is(.archive, .search)
  main
  .wp-block-post-template
  > li.wp-block-post.type-post:not(.format-standard) {
  margin-block: 0 40px !important;
}
:is(.archive, .search)
  main
  .wp-block-post-template
  > li.wp-block-post.type-post:not(.format-standard)
  .wp-block-post-date {
  margin-block-end: 16px !important;
}
:is(.archive, .search) main .wp-block-post-content .wp-block-image img {
  max-width: min(100%, 300px) !important;
  width: auto !important;
  height: auto !important;
}

:is(.archive, .search) .wp-site-blocks > main > .wp-block-query.alignfull {
  margin-inline: auto !important;
  width: 100% !important;
  max-width: var(--wp--style--global--content-size) !important;
  box-sizing: border-box;
}
:is(.archive, .search) main .wp-block-query-pagination {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

.michels-footer-links {
  text-align: left;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px !important;
  line-height: 1.7;
}
.michels-footer-links a {
  white-space: nowrap;
}
.michels-footer-links span {
  margin-inline: 0.4em;
}

.michels-header-name-search {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
}
.michels-header-name-search .wp-block-site-title {
  margin: 0;
  min-width: 0;
}
.michels-header-search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  color: #315f78;
  text-decoration: none;
}
.michels-header-search svg {
  display: block;
}
.michels-header-search:hover {
  color: #213f50;
}
.michels-header-search:focus-visible {
  outline: 2px solid #315f78;
  outline-offset: 2px;
  border-radius: 4px;
}
main .michels-site-search-page {
  width: 100%;
  max-width: 32rem;
  margin-inline: 0 !important;
}
.michels-site-search-page .wp-block-search__inside-wrapper {
  display: flex;
  gap: 8px;
  padding: 0;
  border: 0;
}
.michels-site-search-page .wp-block-search__input,
.michels-site-search-page .wp-block-search__button {
  font-family: inherit;
  font-size: 18px !important;
  line-height: 1.4;
  border-radius: 4px !important;
  min-height: 44px;
  box-sizing: border-box;
}
.michels-site-search-page .wp-block-search__input {
  min-width: 0;
  flex: 1;
  padding: 8px 12px !important;
  color: inherit;
  background: rgba(255, 255, 255, 0.25) !important;
  border: 1px solid #899887 !important;
}
.michels-site-search-page .wp-block-search__button {
  margin: 0 !important;
  padding: 8px 14px !important;
  color: #315f78 !important;
  background: transparent !important;
  border: 1px solid #315f78 !important;
  font-weight: 400;
  flex-shrink: 0;
}
.michels-site-search-page .wp-block-search__button:hover {
  background: rgba(49, 95, 120, 0.08) !important;
}
.michels-site-search-page :is(input, button):focus-visible {
  outline: 2px solid #315f78;
  outline-offset: 3px;
}

.michels-contact-form {
  max-width: 32rem;
}
.michels-contact-form label {
  display: block;
  margin-bottom: 8px;
}
.michels-contact-form input:not([type='hidden']) {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: 8px 12px;
  font: inherit;
  color: inherit;
  background: rgba(255, 255, 255, 0.25);
  border: 1px solid #899887;
  border-radius: 4px;
}
.michels-contact-form button {
  min-height: 44px;
  padding: 8px 14px;
  font: inherit;
  color: #315f78;
  background: transparent;
  border: 1px solid #315f78;
  border-radius: 4px;
  cursor: pointer;
}
.michels-contact-form :is(input, button):focus-visible {
  outline: 2px solid #315f78;
  outline-offset: 3px;
}
.michels-contact-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.michels-contact-form .michels-contact-captcha-row {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 24px;
}
.michels-contact-form .michels-contact-captcha-row > p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}
.michels-contact-form .michels-contact-captcha-row > p.cptch_block {
  width: auto;
  max-width: 100%;
}
.michels-contact-form .michels-contact-captcha-row label {
  margin-bottom: 0;
}
.michels-contact-form .michels-contact-captcha-row .cptch_title {
  display: block;
  margin-bottom: 6px;
}
.michels-contact-form .michels-contact-captcha-row .cptch_wrap {
  font-size: 18px;
}
.michels-page-contact
  .michels-contact-form
  .michels-contact-captcha-row
  input:not([type='hidden']) {
  width: 64px !important;
  min-height: 44px;
  padding: 6px !important;
}
@media (min-width: 700px) {
  .michels-page-contact main .michels-contact-form {
    gap: 10px 20px;
  }
  .michels-page-contact .wp-site-blocks footer.wp-block-template-part {
    margin-top: 12px !important;
    padding: 8px 0 !important;
  }
}

.michels-page-notes li[id^='notitie-'] {
  scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 24px);
}

.single-post main .wp-block-comments {
  margin-block: 32px 0 !important;
}
.single-post main .wp-block-comments > h2 {
  margin-block: 0 16px !important;
}
.single-post main .wp-block-post-comments-form {
  padding-block: 0 !important;
}
.single-post main .michels-footer-links {
  margin-top: 40px !important;
  margin-bottom: 24px !important;
}

.single-post #commentform {
  max-width: 100%;
}
.single-post #commentform label {
  display: block;
  margin-bottom: 6px;
}
.single-post #commentform :is(#author, #email, #comment) {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: 8px 12px;
  font: inherit;
  color: inherit;
  background: rgba(255, 255, 255, 0.25);
  border: 1px solid #899887;
  border-radius: 4px;
}
.single-post #commentform textarea {
  resize: vertical;
}
.single-post #commentform .cptch_input {
  width: 64px !important;
  min-height: 44px;
  padding: 6px;
  font: inherit;
  box-sizing: border-box;
}
.single-post #commentform :is(.comment-form-author, .comment-form-email) {
  max-width: 32rem;
}
.single-post #michels-comment-email-help {
  display: block;
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.5;
}
.single-post #commentform .submit {
  min-height: 44px;
  padding: 8px 14px;
  font: inherit;
  font-size: 18px;
  color: #315f78;
  background: transparent;
  border: 1px solid #315f78;
  border-radius: 4px;
  cursor: pointer;
}
.single-post #commentform :is(input, textarea, button):focus-visible {
  outline: 2px solid #315f78;
  outline-offset: 3px;
}
/* Footer: alle links zichtbaar op smalle schermen. */
footer.wp-block-template-part .michels-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
footer.wp-block-template-part .michels-footer-links span {
  margin: 0;
}
@media (max-width: 480px) {
  footer.wp-block-template-part .michels-footer-links {
    font-size: 14px !important;
    line-height: 1.6 !important;
    gap: 6px;
  }
}

.home .michels-page-navigation {
  display: none !important;
}
header .michels-page-navigation {
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.6;
}
header .michels-page-navigation .wp-block-navigation__container {
  flex-wrap: wrap !important;
  gap: 0 !important;
}
header .michels-page-navigation a[aria-current='page'] {
  text-decoration: underline;
  text-underline-offset: 4px;
  font-weight: 600;
}
header .michels-page-navigation a {
  color: #315f78 !important;
}
header .michels-page-navigation .current-menu-item a {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}
header .alignwide:has(.michels-language-picker) {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 16px;
}
header .michels-language-picker {
  position: relative;
  color: #315f78;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
}
header .michels-language-picker summary {
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
}
header .michels-language-picker summary::-webkit-details-marker {
  display: none;
}
header .michels-language-picker summary:after {
  content: '⌄';
}
header .michels-language-picker nav {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  min-width: 170px;
  max-width: calc(100vw - 32px);
  background: #e4ebe2;
  border: 1px solid #899887;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  padding: 8px;
}
header .michels-language-picker a {
  display: block;
  min-height: 40px;
  box-sizing: border-box;
  padding: 8px 10px;
  color: #315f78;
  text-decoration: none;
}
header .michels-language-picker a:hover {
  background: #d3dfd0;
}
header .michels-language-picker [hidden] {
  display: none !important;
}
header .michels-language-picker small {
  display: block;
  font-size: 12px;
  line-height: 1.4;
  padding: 6px 10px;
}
header .michels-language-picker :is(summary, a):focus-visible {
  outline: 2px solid #315f78;
  outline-offset: 3px;
}
.michels-reader {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 16px;
  margin: 0 0 24px;
  font-size: 16px;
}
.michels-reader button {
  font: inherit;
  line-height: 1.4;
  padding: 4px 0;
  min-height: 32px;
  border: 0;
  border-radius: 0;
  color: #315f78;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.michels-reader button[hidden] {
  display: none !important;
}
.michels-reader button:disabled,
.michels-reader button[aria-disabled='true'] {
  color: #555;
  text-decoration: none;
  cursor: default;
}
@media (pointer: coarse) {
  .michels-reader button {
    min-height: 44px;
  }
}
.michels-reader [role='status']:not(.screen-reader-text) {
  flex-basis: 100%;
  margin: 0;
  font-size: 16px;
}
.michels-reader [role='status']:empty {
  display: none;
}
.michels-reader button:focus-visible,
main a:focus-visible,
header a:focus-visible,
footer a:focus-visible {
  outline: 2px solid #315f78;
  outline-offset: 4px;
}
.michels-contact-form input:not([type='hidden']),
.wp-block-search__input {
  border-color: #61725e !important;
}
#michels-contact-feedback:focus {
  outline: 2px solid #315f78;
  outline-offset: 4px;
}
main,
.wp-block-post-content,
.wp-block-post-template > li {
  min-width: 0;
}
main :is(p, h1, h2, h3, h4, li, a) {
  overflow-wrap: anywhere;
}
main img,
main video {
  max-width: 100%;
  height: auto;
}
.michels-footer-links a {
  white-space: normal !important;
  overflow-wrap: anywhere;
  min-width: 0;
}

@media (max-width: 480px) {
  .wp-block-search__inside-wrapper {
    flex-wrap: wrap;
  }
  .wp-block-search__input {
    min-width: 0 !important;
    width: 100px;
  }
}

.wp-block-post-date .michel-format-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-inline-start: 0.5em;
  vertical-align: -0.12em;
  color: #666666;
  line-height: 1;
}

.wp-block-post-date .michel-format-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

:root {
  --michel-font: Georgia, 'Times New Roman', serif;
  --michel-note-gutter: 20px;
}
.michels-recent-notes {
  display: block;
  box-sizing: border-box;
  flex: none;
  max-width: 600px;
  width: calc(100% - 2 * var(--michel-note-gutter));
  margin: 0 auto 12px;
  font-size: 16px;
  line-height: var(--michel-leesritme);
  text-align: left;
  white-space: normal;
}
.michels-recent-notes .michels-note-label {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  color: #555;
  margin-bottom: 6px;
}
.michels-recent-notes .michels-note-fragment {
  display: block;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
}
.michels-recent-notes .michels-all-notes {
  display: block;
  margin-top: 12px;
}
@media (max-width: 480px) {
  .michels-recent-notes {
    font-size: 15px;
  }
}
.michels-rubrieken h2 {
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.5 !important;
  color: #555;
  margin: 0 0 6px;
}
main .michels-rubrieken p {
  font-size: 18px !important;
  line-height: 1.8 !important;
  margin: 0 0 12px;
}
.michels-page-articles .entry-content form.wp-block-search {
  width: 100% !important;
  max-width: 340px !important;
  margin-left: max(
    0px,
    calc((100% - var(--wp--style--global--content-size, 645px)) / 2)
  ) !important;
  margin-right: 0 !important;
}
.single main .michels-article-breadcrumb {
  font-size: 22px !important;
}

.michels-page-notes .michels-note-list {
  list-style: none;
  padding: 0;
  margin-inline: 0;
}
.michels-page-notes .michels-note-list > li + li {
  margin-block-start: 40px !important;
}
.michels-page-notes .michels-note-list .wp-block-post-date {
  margin-block: 0 16px !important;
}
.michels-page-notes .michels-note-list img {
  max-width: min(100%, 300px);
  height: auto;
}
/* Behoud de ruimte in de artikelheader en het alinearitme van notities. */
.single header.wp-block-group {
  padding-block: 32px;
}
.michels-note-list .wp-block-post-content > :first-child {
  margin-block-start: 0 !important;
}
.michels-note-list .wp-block-post-content > :last-child {
  margin-block-end: 0 !important;
}
/* Navigatie heeft eigen opmaak en is niet afhankelijk van geladen blok-CSS. */
header .michels-page-navigation {
  font-size: 16px;
  margin-block: 0 20px;
}
header .michels-page-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
header .michels-page-navigation li {
  margin: 0;
  padding: 0;
}
header .michels-page-navigation a {
  text-decoration: none;
}
header .michels-page-navigation a:hover {
  text-decoration: underline;
}

/* Houd de siteheader binnen de veilige browserruimte; laat tekst vrij afbreken. */
.wp-site-blocks > header {
  padding-top: env(safe-area-inset-top, 0px);
  position: static;
  top: 0;
  z-index: 200;
  background-color: #e4ebe2;
}
.michels-header-name-search {
  min-width: 0;
  flex-wrap: wrap;
}
.michels-header-name-search .wp-block-site-title {
  overflow-wrap: anywhere;
}

/* Reserveer ook bij ankerlinks en toetsenbordfocus ruimte voor de header. */
@media (min-width: 768px) and (min-height: 601px) {
  .wp-site-blocks > header {
    position: sticky;
    border-bottom: 1px solid rgba(97, 114, 94, 0.2);
  }
  html {
    scroll-padding-top: calc(200px + env(safe-area-inset-top, 0px));
  }
  .michels-page-notes li[id^='notitie-'] {
    scroll-margin-top: 24px;
  }
}
@media (min-width: 768px) and (min-height: 601px) {
  .admin-bar .wp-site-blocks > header {
    top: var(--wp-admin--admin-bar--height, 32px);
  }
}
/* Geef op lage schermen en bij sterke zoom de leesruimte terug. */
@media (max-height: 600px) {
  .wp-site-blocks > header {
    position: static;
  }
}
@media print {
  .wp-site-blocks > header {
    position: static;
  }
}

/* Artikelkolom: ruimere regels op desktop, vloeibaar op smalle schermen. */
.single-post .wp-site-blocks > main {
  max-width: calc(
    700px + var(--wp--style--root--padding-left, 50px) + var(--wp--style--root--padding-right, 50px)
  ) !important;
  margin-inline: auto !important;
}
.single-post main .wp-block-post-content > * + * {
  margin-block-start: 28px !important;
}

.single-post main .wp-block-post-content > :not(.alignfull):not(.alignwide) {
  max-width: 700px !important;
}

/* Bescheiden media-aanduiding in artikelenoverzichten. */
main p.michels-media-summary {
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #50594f;
  margin-block: 8px 0 !important;
}

/* Gedeelde verzamelingen gebruiken dezelfde leeskolom als de overige pagina’s. */
.michels-reading-hub section + section,
.michels-media-entry + .michels-media-entry {
  margin-top: 40px;
}
.michels-media-entry .wp-block-post-date {
  margin-bottom: 0.75rem;
}
.michels-media-entry h2 {
  margin-top: 0;
  margin-bottom: 1.5rem;
}
.michels-media-entry :is(audio, video, iframe) {
  max-width: 100%;
}
header .michels-page-navigation > .wp-block-navigation__container {
  gap: 0;
  align-items: center;
}
header .michels-page-navigation > ul > li > a {
  display: block;
  padding: 12px 14px;
  min-height: 44px;
  box-sizing: border-box;
  line-height: 1.3;
  color: #28566e;
  text-decoration: none;
  font-weight: 400;
  transition: background-color 150ms ease;
}
header .michels-page-navigation > ul > li > a[aria-current='page'],
header .michels-page-navigation > ul > li > a:hover {
  background: #cfddd3;
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  header .michels-page-navigation > ul > li > a {
    transition: none;
  }
}

/* Spotify heeft een eigen compacte spelerverhouding, geen videoverhouding. */
.wp-block-embed-spotify .wp-block-embed__wrapper {
  height: auto !important;
  padding: 0 !important;
  aspect-ratio: auto !important;
}
.wp-block-embed-spotify .wp-block-embed__wrapper::before,
.wp-block-embed-spotify .wp-block-embed__wrapper::after {
  display: none !important;
}
.wp-block-embed-spotify iframe {
  position: static !important;
  display: block;
  width: 100%;
  height: 152px !important;
  aspect-ratio: auto !important;
}
main .wp-block-embed-spotify figcaption {
  margin-block: 8px 0;
}
/* Typology: licht neutraal footervlak, begrensde inhoud en ingetogen links. */
footer.wp-block-template-part .michels-footer-links {
  max-width: 700px;
  margin: 0 auto;
  gap: 6px 12px;
}
footer.wp-block-template-part .michels-footer-links a {
  color: #4d5c50;
  text-decoration: none;
  border-bottom: 1px solid #8c998c;
  transition: border-color 120ms ease;
}
footer.wp-block-template-part .michels-footer-links a:hover {
  border-bottom-color: transparent;
}
@media (prefers-reduced-motion: reduce) {
  footer.wp-block-template-part .michels-footer-links a {
    transition: none;
  }
}

/* Eén accent voor cirkels en navigatie; alleen de woorden worden gemarkeerd. */
.michels-nav-accent {
  --michels-accent-height: 0.18em;
  background-image: linear-gradient(#edcb45, #edcb45);
  background-repeat: no-repeat;
  background-position: 0 92%;
  background-size: 0% var(--michels-accent-height);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size 180ms ease-out;
}
.michels-circle > span > .michels-nav-accent,
.michels-circle > summary > .michels-nav-accent {
  --michels-accent-height: 0.32em;
}
.michels-page-navigation a:is(:hover, :focus-visible) > .michels-nav-accent, :focus-visible) > .michels-nav-accent,
.michels-circle:is(:hover, :focus-visible) > span > .michels-nav-accent {
  background-size: 100% var(--michels-accent-height);
}
@media (prefers-reduced-motion: reduce) {
  .michels-nav-accent {
    transition: none;
  }
}
.michels-reading-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 0 0 32px;
}
.michels-reading-filters a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.michels-reading-filters a[aria-current] {
  font-weight: bold;
  text-decoration-thickness: 2px;
}
.michels-reading-entry + .michels-reading-entry {
  margin-top: 40px;
}
.michels-reading-entry .michels-reading-date {
  font-size: 16px !important;
  line-height: 1.5;
  color: #526153;
  margin: 0 0 12px;
}
.michels-reading-entry h2 {
  font-size: 1.25em;
  margin: 0 0 12px;
}
.michels-reading-entry p {
  margin-top: 0;
}
.michels-reading-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 32px;
}
.michels-reading-pagination .page-numbers {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/* Kaart en tekstlijst delen dezelfde inhoud; kaartpunten zijn gewone links. */
.michels-map-canvas {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin: 0 auto 24px;
  isolation: isolate;
}
.michels-map-canvas > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.michels-map-line {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  stroke: #28566e;
  stroke-width: 0.2;
  fill: #28566e;
}
.michels-map-pin {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #28566e;
  color: #fff !important;
  border: 2px solid #fff;
  border-radius: 50%;
  text-decoration: none !important;
  font:
    bold 18px Georgia,
    serif;
  box-sizing: border-box;
  z-index: 2;
}
.michels-map-pin:hover,
.michels-map-pin[aria-current] {
  background: #193c4e;
  outline: 3px solid #edcb45;
}
.michels-map-places {
  padding-left: 1.5em;
  margin: 0 0 32px;
}
.michels-map-places a {
  display: inline-block;
  padding: 10px 0;
}
.michels-map-places a[aria-current] {
  font-weight: bold;
}
#michels-map-results {
  scroll-margin-top: 170px;
}
