.install-app-trigger { display: none; }
.is-installed-app .install-app-trigger { display: none !important; }
.install-app-modal[hidden], .install-app-modal [hidden] { display: none !important; }
.install-app-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; }
.install-app-backdrop { position: absolute; inset: 0; background: rgba(17, 25, 20, .67); backdrop-filter: blur(5px); }
.install-app-dialog { position: relative; width: min(100%, 510px); max-height: min(92dvh, 850px); overflow-y: auto; padding: 26px; border: 1px solid #e2eadb; border-radius: 22px; background: #fff; color: #20292a; box-shadow: 0 26px 90px rgba(10, 30, 13, .3); font-family: Montserrat, sans-serif; }
.install-app-kicker { margin-bottom: 7px; color: #507e13; font-size: 11px; font-weight: 800; letter-spacing: .11em; }
.install-app-dialog h2 { margin: 0 36px 10px 0; font-size: clamp(21px, 5vw, 28px); line-height: 1.18; }
.install-app-dialog p { margin: 0 0 17px; color: #5a6363; font-size: 14px; line-height: 1.5; }
.install-app-close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f1f5ed; color: #243525; font-size: 25px; line-height: 1; cursor: pointer; }
.install-app-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.install-app-steps figure { min-width: 0; margin: 0; padding: 12px; border: 1px solid #e2eadb; border-radius: 16px; background: #f8fbf5; }
.install-app-steps img { display: block; width: 100%; height: 150px; object-fit: contain; }
.install-app-steps figcaption { margin-top: 9px; font-size: 12px; line-height: 1.45; }
.install-app-steps figcaption b { color: #507e13; }
.install-app-dialog .install-app-safari-note { padding: 10px 12px; border-radius: 10px; background: #edf9e3; color: #30432a; }
.install-app-done { width: 100%; min-height: 42px; margin-top: 18px; border: 0; border-radius: 999px; background: #8dff00; color: #183000; font: 800 14px Montserrat, sans-serif; cursor: pointer; }
.install-app-trigger:focus-visible, .install-app-dialog button:focus-visible { outline: 3px solid #5caf05; outline-offset: 3px; }
.install-app-modal-open { overflow: hidden; }
@media (max-width: 760px) {
  .site-header[data-component="site-header"] { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
  .site-header[data-component="site-header"] .brand { width: 43px; min-width: 43px; height: 43px; background: url('/assets/img/favicon.png?v=177') center / contain no-repeat; }
  .site-header[data-component="site-header"] .brand img { opacity: 0; }
  .install-app-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 36px; padding: 0 11px; border: 1px solid #67b800; border-radius: 999px; background: #eaffd2; color: #244000; font: 800 11px Montserrat, sans-serif; white-space: nowrap; cursor: pointer; }
  .install-app-plus { font-size: 17px; font-weight: 700; line-height: 1; }
}
@media (max-width: 390px) {
  .install-app-trigger { padding: 0 8px; font-size: 10px; }
  .install-app-dialog { padding: 22px 18px; }
  .install-app-steps { grid-template-columns: 1fr; }
  .install-app-steps figure { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 12px; }
  .install-app-steps img { height: 100px; }
  .install-app-steps figcaption { margin-top: 0; }
}
