/* iTV Uganda PWA controls — loaded only by /itv-uganda/ pages */
.itv-pwa-install {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 9998;
  display: grid;
  grid-template-columns: 42px 1fr 24px;
  align-items: center;
  gap: 11px;
  width: min(360px, calc(100vw - 36px));
  padding: 10px 12px;
  border: 1px solid rgba(109, 199, 255, .28);
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, rgba(3, 16, 39, .98), rgba(8, 39, 82, .98));
  box-shadow: 0 18px 48px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .08);
  cursor: pointer;
  font: inherit;
  text-align: left;
  backdrop-filter: blur(16px);
}
.itv-pwa-install[hidden] { display: none !important; }
.itv-pwa-install:disabled { opacity: .7; cursor: wait; }
.itv-pwa-install img { width: 42px; height: 42px; border-radius: 11px; box-shadow: 0 7px 16px rgba(0, 0, 0, .25); }
.itv-pwa-install span { min-width: 0; display: grid; gap: 2px; }
.itv-pwa-install strong { font-size: .92rem; line-height: 1.1; }
.itv-pwa-install small { color: #a8c7e6; font-size: .69rem; line-height: 1.25; }
.itv-pwa-install b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #e31937; font-size: 1.1rem; line-height: 1; }
.itv-pwa-install:hover { transform: translateY(-2px); border-color: rgba(109, 199, 255, .55); }
.itv-pwa-install:focus-visible { outline: 3px solid rgba(56, 169, 255, .55); outline-offset: 3px; }

.itv-pwa-help { position: fixed; inset: 0; z-index: 10000; }
.itv-pwa-help[hidden] { display: none !important; }
.itv-pwa-help__backdrop { position: absolute; inset: 0; background: rgba(0, 7, 18, .78); backdrop-filter: blur(8px); }
.itv-pwa-help__card {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(410px, calc(100vw - 34px));
  padding: 28px;
  border: 1px solid rgba(109, 199, 255, .25);
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(145deg, #06152f, #0a2d58);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .55);
  text-align: center;
}
.itv-pwa-help__card > img { width: 84px; height: 84px; border-radius: 21px; }
.itv-pwa-help__card h2 { margin: 16px 0 8px; font-size: 1.55rem; }
.itv-pwa-help__card p { margin: 0; color: #c6daec; line-height: 1.65; }
.itv-pwa-help__close { position: absolute; top: 10px; right: 12px; border: 0; background: transparent; color: #fff; font-size: 1.8rem; cursor: pointer; }
.itv-pwa-help__done { margin-top: 20px; min-width: 120px; padding: 11px 18px; border: 0; border-radius: 999px; color: #fff; background: #e31937; font: inherit; font-weight: 800; cursor: pointer; }

@media (max-width: 520px) {
  .itv-pwa-install { left: 12px; bottom: 12px; width: calc(100vw - 24px); }
  .itv-pwa-install small { font-size: .65rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .itv-pwa-install { transition: transform .2s ease, border-color .2s ease, opacity .2s ease; animation: itvPwaIn .42s ease both; }
  @keyframes itvPwaIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
}
@media print { .itv-pwa-install, .itv-pwa-help { display: none !important; } }
