@layer gpgx-adapt {
  .gpgx-card-zone {
    container-type: inline-size;
  }

  @container (min-width: 30rem) {
    .gpgx-rank__foot {
      flex-wrap: nowrap;
    }
  }

  @media (min-width: 62rem) {
    .gpgx-hero__grid {
      grid-template-columns: 1.1fr 0.9fr;
    }

    .gpgx-footer__grid {
      grid-template-columns: 1.4fr 1fr 1fr;
    }

    .gpgx-cookie__inner {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }

    .gpgx-cookie__actions {
      flex: none;
    }
  }

  @media (max-width: 61.99rem) {
    .gpgx-topbar {
      backdrop-filter: none;
    }

    .gpgx-nav {
      position: fixed;
      inset-block: 0 0;
      inset-inline-end: 0;
      z-index: 45;
      inline-size: min(82vw, 340px);
      padding: 5rem 1.4rem 2rem;
      background: var(--gpgx-berry-800);
      border-inline-start: 2px solid var(--gpgx-coral);
      box-shadow: -16px 0 40px rgba(0, 0, 0, 0.4);
      transform: translateX(100%);
      visibility: hidden;
      transition: transform var(--gpgx-speed-slow) var(--gpgx-ease), visibility var(--gpgx-speed-slow);
    }

    .gpgx-nav.gpgx-is-open {
      transform: translateX(0);
      visibility: visible;
    }

    .gpgx-nav__list {
      flex-direction: column;
      align-items: stretch;
      gap: 0.4rem;
    }

    .gpgx-nav__link {
      min-block-size: 50px;
      font-size: var(--gpgx-step-md);
    }

    .gpgx-burger {
      display: inline-flex;
    }

    .gpgx-nav__cta {
      margin-block-start: 0.6rem;
    }

    .gpgx-scrim {
      position: fixed;
      inset: 0;
      z-index: 44;
      background: rgba(36, 4, 20, 0.55);
      opacity: 0;
      visibility: hidden;
      transition: opacity var(--gpgx-speed-mid), visibility var(--gpgx-speed-mid);
    }

    .gpgx-scrim.gpgx-is-on {
      opacity: 1;
      visibility: visible;
    }

    /* Fix mobile header layout */
    .gpgx-topbar__inner {
      flex-wrap: wrap !important;
      gap: 12px !important;
      padding-block: 0.8rem 1rem !important;
    }
    .gpgx-brand {
      order: 1 !important;
    }
    .gpgx-burger {
      order: 2 !important;
      margin-inline-start: auto !important;
    }
    .gpgx-search {
      order: 3 !important;
      width: 100% !important;
      margin: 0 !important;
      justify-content: center !important;
    }
    .gpgx-search input[type="text"] {
      width: 100% !important;
      max-width: 100% !important;
      flex: 1;
    }
    .gpgx-nav {
      order: 4 !important;
    }
  }

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

    *,
    *::before,
    *::after {
      animation-duration: 0.001ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.001ms !important;
    }
  }

  @media print {
    .gpgx-topbar,
    .gpgx-burger,
    .gpgx-cookie,
    .gpgx-totop,
    .gpgx-scrim,
    .gpgx-hero__media,
    .gpgx-footer {
      display: none !important;
    }

    body {
      background: #fff;
      color: #000;
    }

    .gpgx-card,
    .gpgx-card--berry {
      box-shadow: none;
      border: 1px solid #ccc;
      color: #000;
    }
  }
}
