body.hubflix-iphone {
  --left: max(16px, env(safe-area-inset-left));
  --right: max(16px, env(safe-area-inset-right));
  font-size: 16px;
}

.hubflix-iphone #tv-login {
  display: block;
  padding-inline: var(--left) var(--right);
}
.hubflix-iphone #tv-login[hidden] { display: none; }
.hubflix-iphone .tv-login-layout {
  display: block;
  width: min(100%, 440px);
  margin: 20px auto;
}
.hubflix-iphone .tv-login-form { width: 100%; }
.hubflix-iphone input, .hubflix-iphone select { font-size: 16px; }
.hubflix-iphone button, .hubflix-iphone .nav-link, .iphone-home {
  min-height: 44px;
}
.iphone-home { display: inline-flex; align-items: center; flex-shrink: 0; }

.hubflix-iphone #shell {
  display: block;
  min-height: 100vh;
  padding-inline: var(--left) var(--right);
  padding-bottom: env(safe-area-inset-bottom);
}
.hubflix-iphone #shell[hidden] { display: none; }
.hubflix-iphone .sidebar {
  position: sticky;
  top: 0;
  z-index: 12;
  width: 100%;
  height: auto;
  padding: env(safe-area-inset-top) 0 0;
  background: #141222;
}
.hubflix-iphone .sidebar .brand, .hubflix-iphone .local-mark { display: none; }
.hubflix-iphone #nav {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  scrollbar-width: none;
}
.hubflix-iphone #nav .nav-link {
  flex: 0 0 auto;
  white-space: nowrap;
  padding-inline: 12px;
}
.hubflix-iphone #content { min-width: 0; margin: 0; }
.hubflix-iphone .topbar { position: static; flex-wrap: wrap; padding-inline: 0; }
.hubflix-iphone #page { padding-inline: 0; }
.hubflix-iphone .hero { min-height: 0; padding: 20px 14px; }
.hubflix-iphone .hero h1 { font-size: clamp(26px, 6vw, 42px); }
.hubflix-iphone .hero .actions { flex-wrap: wrap; }
.hubflix-iphone .rail { grid-auto-columns: clamp(105px, 29vw, 155px); }
.hubflix-iphone .cards.grid { grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); }
.hubflix-iphone .detail-header { grid-template-columns: minmax(0, 1fr); }
.hubflix-iphone .epg-layout { grid-template-columns: minmax(0, 1fr); }
.hubflix-iphone .epg-groups { display: flex; overflow-x: auto; max-height: none; }
.hubflix-iphone .epg-groups button { flex: 0 0 auto; white-space: nowrap; }
.hubflix-iphone .epg-preview { min-width: 0; }
.hubflix-iphone .watch-bottom { left: var(--left); right: var(--right); }
.hubflix-iphone .watch-bottom .tools { flex-wrap: nowrap; }
.hubflix-iphone .watch-bottom .tools > * { flex-shrink: 0; }

@media (orientation: landscape) {
  .hubflix-iphone .epg-layout { grid-template-columns: minmax(130px, 1fr) minmax(0, 2fr); }
  .hubflix-iphone .epg-groups { display: block; max-height: 65vh; }
  .hubflix-iphone .epg-preview { grid-column: 1 / -1; }
  .hubflix-iphone .watch-bottom .playing-meta { display: none; }
}
