html,
body {
  min-height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
  min-height: 70vh;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.language-toggle {
  min-width: 58px;
  height: 34px;
  padding: 0 11px;
  border: 1px solid #cbe0d9;
  border-radius: 999px;
  background: #fff;
  color: var(--rm-green);
  font: 700 11px/1 Manrope, Arial, sans-serif;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}

.language-toggle:hover,
.language-toggle:focus-visible {
  border-color: var(--rm-primary);
  background: #effff8;
  outline: none;
}

footer {
  width: 100%;
  min-height: 300px;
  margin-top: auto;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

footer .footer-grid {
  width: min(100%, 1240px);
  margin: 0 auto;
  flex: 0 0 auto;
}

footer .footer-bottom {
  width: min(100%, 1240px);
  margin: auto auto 0;
  flex: 0 0 auto;
  align-items: center;
}

@media (max-width: 1300px) {
  footer .footer-grid,
  footer .footer-bottom {
    width: min(100%, calc(100% - 84px));
  }
}

@media (max-width: 620px) {
  .nav-actions {
    gap: 6px;
  }

  .language-toggle {
    min-width: 50px;
    padding-inline: 8px;
  }

  footer .footer-grid,
  footer .footer-bottom {
    width: calc(100% - 48px);
  }
}

body.dark .language-toggle {
  border-color: #2d584b;
  background: #12241f;
  color: var(--rm-mint);
}

body.dark .language-toggle:hover,
body.dark .language-toggle:focus-visible {
  border-color: var(--rm-mint);
  background: #19362c;
}

.detail .tag-list {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
  min-height: 58px;
}

.detail .tag-list .tag {
  margin: 0;
}

.detail-action {
  margin-top: 28px;
  padding-top: 2px;
}

.detail-action .button {
  margin-top: 0;
}
