:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --touch-min: 44px;
  --egix-ink: #06110e;
  --egix-accent: #c8f06a;
  --egix-green: #123f35;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  padding:
    var(--safe-top)
    var(--safe-right)
    var(--safe-bottom)
    var(--safe-left);
}

button,
a.button-link,
.cta,
.nav-cta {
  min-height: var(--touch-min);
}

button,
input,
select,
textarea {
  font-size: 16px;
}

@media (min-width: 768px) {
  button,
  input,
  select,
  textarea {
    font-size: inherit;
  }
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 40;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.pwa-install-bar {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(200, 240, 106, 0.35);
  background: rgba(200, 240, 106, 0.12);
  font-size: 0.9rem;
  line-height: 1.45;
}

.pwa-install-bar.is-visible {
  display: flex;
}

.pwa-install-bar--light {
  border-color: #dfe5df;
  background: #eef6f1;
  color: #17212b;
}

.pwa-install-bar__actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.pwa-install-bar button {
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 0;
  font-weight: 700;
  cursor: pointer;
}

.pwa-install-bar__primary {
  background: var(--egix-green);
  color: #fff;
}

.pwa-install-bar__ghost {
  background: transparent;
  color: inherit;
  border: 1px solid currentColor;
}

.pwa-standalone header.sticky-top,
.pwa-standalone .top.sticky-top {
  padding-top: calc(0.35rem + var(--safe-top));
}

@media (max-width: 640px) {
  .shell {
    padding-left: max(16px, var(--safe-left));
    padding-right: max(16px, var(--safe-right));
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
