@media (max-width: 760px) {
  body:not(.page-forside) .content {
    padding-top: 28px;
  }

  body:not(.page-forside) .section-title {
    font-size: 2.15rem;
  }

  #persondatapolitik .policy,
  #handelsbetingelser .terms {
    padding: 22px 20px;
    border-radius: 20px;
  }

  #persondatapolitik .policy h3,
  #handelsbetingelser .terms h3 {
    font-size: 1.15rem;
  }

  .content-hero {
    grid-template-columns: 1fr;
    padding: 27px 23px;
    border-radius: 21px;
  }

  .content-hero-icon {
    width: 64px;
    height: 64px;
    grid-row: 1;
  }

  .content-hero-icon svg {
    width: 31px;
    height: 31px;
  }

  .content-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .content-actions a,
  .content-actions button,
  .ui-button {
    width: 100%;
  }

  .faq-help-card,
  .guide-control {
    align-items: flex-start;
    flex-direction: column;
  }

  .faq-help-card .ui-button {
    width: 100%;
  }

  .guide-step {
    grid-template-columns: 48px 1fr;
    gap: 15px;
  }

  .guide-number {
    align-self: start;
  }

  .guide-icon {
    display: none;
  }

  .guide-control .content-actions {
    width: 100%;
  }

  .contact-layout,
  .public-analysis-layout {
    grid-template-columns: 1fr;
  }

  .admin-tasks {
    overflow-x: auto;
  }

  .admin-tasks table {
    min-width: 720px;
  }

  .footer-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 28px 20px;
    padding: 32px 22px 26px;
  }

  .footer-col,
  .footer-col.footer-brand {
    min-width: 0;
    width: 100%;
    flex: none;
  }

  .footer-col.footer-brand {
    grid-column: 1 / -1;
  }

  .footer-col h4 {
    margin-bottom: 11px;
  }

  .footer-col ul li {
    margin-bottom: 7px;
  }

  .footer-col p {
    line-height: 1.55;
  }

  .footer-logo {
    margin-bottom: 10px;
  }

  .footer-bottom {
    padding: 12px 18px;
  }
}

@media (max-width: 520px) {
  .install-app-dialog {
    width: calc(100% - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: 18px;
  }

  .install-app-dialog[open] {
    gap: 0.75rem;
    padding: 1rem;
  }

  .install-app-dialog h2 {
    font-size: 1.35rem;
  }

  .install-app-dialog > p,
  .install-app-steps {
    font-size: 0.94rem;
  }

  .install-app-dialog > p {
    line-height: 1.45;
  }

  .install-app-dialog-close {
    width: 34px;
    height: 34px;
  }

  .install-app-steps {
    gap: 0.45rem;
    padding-left: 1.2rem;
  }

  .install-app-dialog-actions .ui-button {
    width: auto;
    min-height: 42px;
    padding: 0.58rem 0.9rem;
  }

  .footer-container {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .footer-col.footer-brand {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
